RecycleView的基本使用方法

本文介绍了RecycleView相比ListView的优势,如内置ViewHolder优化、支持多种布局和动画效果。并详细阐述了如何在Android中使用RecycleView,包括设置LayoutManager、Adapter以及实现自定义的ViewHolder。通过实例展示了LinearLayoutManager、GridLayoutManager和StaggeredGridLayoutManager的用法,以及如何添加item分隔线和动画效果。
摘要由CSDN通过智能技术生成

为什么要使用RecycleView,而不再使用ListView

记得每一次在用ListView的时候,在Adapter中,总是需要我们自己去创建一个ViewHolder,去存储ListItem的布局,这么做的原因在于findViewById()是一个很耗时间的操作,所以我们需要一个静态的对象将layout过的控件给保存起来,下一次刷新这个item的时候,就不再需要调用findViewById去ViewTree中初始化控制,从而达到对ListView的优化效果。

而RecycleView则已经帮我们封闭好了这样一个ViewHolder的抽象类RecycleView.ViewHolder,而且是必须实现的一个接口,这说明在控制节省内存方面,RecycleView要比ListView做得要好,因为在ListView中,你不写ViewHolder也是可以的。

此外,ListView的设计是一个上下滑动的列表控制,而RecycleView则通过一个LayoutManager来实现多种布局的展现,包括纵向列表,横向Gallery,Grid布局,基于瀑布流等,可以说,之前通过ListView, GridView, ViewPager等实现的布局,现在用一个RecycleView就可以实现了。

再此外,现在的很多app,就算是使用ListView,也不仅仅是单纯地展现数据,都希望能够利用一些平滑的动画效果来提升用户体验,而RecycleView本身在对数据的增删上就添加了对动画的效果的的支持。
在RecyclerView中增加了以下的接口:

        public final void notifyItemInserted(int position) {
            mObservable.notifyItemRangeInserted(position, 1);
        }
        public final void notifyItemMoved(int fromPosition, int toPosition) {
            mObservable.notifyItemMoved(fromPosition, toPosition);
        }  

    public void setItemAnimator(ItemAnimator animator) {
        if (mItemAnimator != null) {
            mItemAnimator.endAnimations();
            mItemAnimator.setListener(null);
        }
        mItemAnimator = animator;
        if (mItemAnimator != null) {
            mItemAnimator.setListener(mItemAnimatorListener);
        }
    }       

综合种种,个人觉得,是很有必要掌握一下如何使用RecycleView的。

如何使用 RecycleView

RecycleView是Support-v7包中的组件,因此在Gradle中,我们要添加其对应的引用

dependencies {
    ...
    compile 'com.android.support:recyclerview-v7:23.1.0'
    ...
}</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值